<?php
/**
 * Created by PhpStorm.
 * User: Administrator
 * Date: 2017/2/13
 * Time: 17:44
 */

namespace common\assets;

use Yii;

class AssetManager extends \yii\web\AssetManager
{
    public $basePath = '@static/assets';
    public $baseUrl;
    /*
        assets文件publish到web根路径下(解决跨域静态资源无法访问的问题，对于无法跨域的静态资源包在此处配置不进行跨域publish到mount-static目录下)
        有些程序extension在运行过程中，因为使用了iframe或者js，或者一些别的原因。就会遭遇到跨域的问题，无法使用cdn服务器的静态资源文件。这时候需要
        创建一个AssetManage 继承\yii\web\AssetManager  对这些静态资源不进行跨域publish到mount-static目录下。 比如百度编辑器
     */

    /**
     * 不进行跨域处理的静态资源文件目录
     * @var array
     */
    public $filterPathList = [''];

    public function init()
    {
        $this->baseUrl = Yii::$app->params['__cdnDomain__'] . '/assets';
        parent::init();
    }

    public function publish($path, $options = [])
    {
        foreach ($this->filterPathList as $val) {
            if ($path == Yii::getAlias($val)) {
                $this->basePath = Yii::getAlias('@webroot/assets');
                $this->baseUrl = rtrim(Yii::getAlias('@web/assets'), '/');
            }
        }
        return parent::publish($path, $options);
    }
}